From e34b36aeab8eccd1020f3a687c36b01446603538 Mon Sep 17 00:00:00 2001 From: Chris Wong Date: Fri, 24 Apr 2015 15:24:46 +1200 Subject: [PATCH] Add integration tests --- tests/test_cargo_new.rs | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/tests/test_cargo_new.rs b/tests/test_cargo_new.rs index d2bfd438d..c73358a01 100644 --- a/tests/test_cargo_new.rs +++ b/tests/test_cargo_new.rs @@ -96,6 +96,34 @@ test!(invalid_characters { .with_stderr("Invalid character `.` in crate name: `foo.rs`")); }); +test!(rust_prefix_stripped { + assert_that(cargo_process("new").arg("rust-foo"), + execs().with_status(0) + .with_stdout("Note: package will be named `foo`; use --name to override")); + let toml = paths::root().join("rust-foo/Cargo.toml"); + let mut contents = String::new(); + File::open(&toml).unwrap().read_to_string(&mut contents).unwrap(); + assert!(contents.contains(r#"name = "foo""#)); +}); + +test!(bin_disables_stripping { + assert_that(cargo_process("new").arg("rust-foo").arg("--bin"), + execs().with_status(0)); + let toml = paths::root().join("rust-foo/Cargo.toml"); + let mut contents = String::new(); + File::open(&toml).unwrap().read_to_string(&mut contents).unwrap(); + assert!(contents.contains(r#"name = "rust-foo""#)); +}); + +test!(explicit_name_not_stripped { + assert_that(cargo_process("new").arg("foo").arg("--name").arg("rust-bar"), + execs().with_status(0)); + let toml = paths::root().join("foo/Cargo.toml"); + let mut contents = String::new(); + File::open(&toml).unwrap().read_to_string(&mut contents).unwrap(); + assert!(contents.contains(r#"name = "rust-bar""#)); +}); + test!(finds_author_user { // Use a temp dir to make sure we don't pick up .cargo/config somewhere in // the hierarchy -- 2.30.2